package main

import (
	"fmt"
	"math"
	"math/cmplx"
)

func testEuler() {
	c := 3 + 4i // i = 根号-1  4i = -1的平方 * -1的平方 = 1 所以 c = 5
	fmt.Println("testEuler:: ", cmplx.Abs(c))
}

func euler() {
	//	底数是 math.E
	//	指数 1i * math.Pi , 1i 是因为 单独 i 会被认为是变量
	fmt.Println(
		cmplx.Exp(1i*math.Pi)+1,
		cmplx.Pow(math.E, 1i*math.Pi)+1,
	)
	// (0+1.2246467991473515e-16i)
	//	因为 complex 的 实部虚部 都是浮点数 所以结果 会是一个 浮点数

	fmt.Printf(
		"%.3f\n",
		cmplx.Exp(1i*math.Pi)+1,
	)
	// (0.000+0.000i)
}

func main() {
	testEuler()
	euler()
}
